Skip to content

fix(google): remove the shut-down veo-3.1-generate-preview registration - #585

Merged
Kamilbenkirane merged 2 commits into
mainfrom
fix/google-remove-veo-3-1-preview
Nov 9, 2026
Merged

Kamilbenkirane merged 2 commits into
mainfrom
fix/google-remove-veo-3-1-preview

Conversation

@Kamilbenkirane

Copy link
Copy Markdown
Member

veo-3.1-generate-preview is the last Veo id in the Google videos catalog, and the Gemini API no longer serves it. The Veo 3.1 page says: "Veo 3.1 Preview (veo-3.1-generate-preview, veo-3.1-fast-generate-preview, and veo-3.1-lite-generate-preview) in the Gemini API was shut down on October 22, 2026. Migrate to Gemini Omni Flash (gemini-omni-1.2-flash) or the GA models available through the Gemini Enterprise Agent Platform to avoid service interruptions." The deprecations table lists veo-3.1-generate-preview with shutdown "October 22, 2026" and replacement gemini-omni-1.2-flash. On Google Cloud, the Veo 3.1 page lists only veo-3.1-generate-001, veo-3.1-fast-generate-001 and veo-3.1-lite-generate-001, not the preview id. CLAUDE.md: "Remove a model id only after a live authenticated call hard-rejects it". It does now (see Validation). #550 and #552 removed the other two Veo 3.1 preview ids the same way.

Fix:

  • src/celeste/modalities/videos/providers/google/models.py: drop the veo-3.1-generate-preview entry, so GOOGLE_VEO_MODELS is empty.
  • tests/unit_tests/test_google_videos_interactions.py: the Veo dispatch test patches _VEO_MODEL_IDS with a test id, so it still asserts that GoogleVideosClient selects GoogleVeoVideosClient and copies its endpoints. The Veo parse test builds GoogleVeoVideosClient directly with a test-local Model.
  • tests/unit_tests/test_google_transport.py: the download credential-scoping test is parametrized over the two backend classes (GoogleVeoVideosClient, GoogleInteractionsVideosClient) with a test-local Model, instead of create_client with catalog ids. Both download paths stay covered.
  • tests/unit_tests/test_vertex_routing.py is unchanged. It builds a test-local Model, the id there is only a URL fragment, and the file already uses ids that are no longer in the catalog (e.g. deepseek-chat, fix: provider bugs and catalog corrections from model-watch findings #314).

Left for the maintainer: the Veo route stays: veo.py, GOOGLE_VEO_PARAMETER_MAPPERS, GOOGLE_SUPPORTED_MIME_TYPES, the dispatcher branch and celeste.providers.google.veo. With GOOGLE_VEO_MODELS empty, no model id reaches that branch. An unregistered Veo id passed to create_client already raised "Unknown Google videos model" before this PR. The open decision is whether to keep Veo as a Google Cloud-only route, registering the GA ids above after a live Vertex call, or to delete the route.

Validation:

  • make ci passes (763 unit tests).
  • Live, Gemini API key: GoogleVideosClient.generate(prompt="A cat walking", duration=4, resolution="720p") on veo-3.1-generate-preview (strategy GoogleVeoVideosClient). POST /v1beta/models/veo-3.1-generate-preview:predictLongRunning returned 404 NOT_FOUND: "models/veo-3.1-generate-preview is not found for API version v1beta, or is not supported for predictLongRunning." GET /v1beta/models lists no Veo model, only gemini-omni-flash-preview, gemini-omni-1.1-flash and gemini-omni-1.2-flash.
  • Google Cloud (GoogleADC): not proven live. The same call returned 403 because the local ADC project lacks aiplatform.endpoints.predict ("or it may not exist"). The Google Cloud page above does not list the id.

@Kamilbenkirane
Kamilbenkirane merged commit 11cf444 into main Nov 9, 2026
10 checks passed
@Kamilbenkirane
Kamilbenkirane deleted the fix/google-remove-veo-3-1-preview branch November 9, 2026 13:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant